package com.cds.drizzt.config;

import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.servers.Server;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@OpenAPIDefinition( // 这里是注解的方式设置信息
    info = @io.swagger.v3.oas.annotations.info.Info(
            title = "Drizzt API",
            version = "1.0",
            description = "Drizzt API documentation"
    ),
    servers = @Server(url = "http://localhost:8088/doc.html")
)
public class OpenApiConfig {
    /**
     * 自定义 API 文档基本信息
     */
    @Bean
    public OpenAPI customOpenApi() {
        return new OpenAPI()
                .info(new Info()   // 这里是自定义的信息，会覆盖注解的信息
//                        .title("springboot3练习 API")   // 文档标题
//                        .version("1.0.0")   // 接口版本
//                        .description("基于 spring boot 3 的练习API接口文档")
                        .contact(new Contact()    // 联系人信息
                                .name("阿古朵")
                                .email("aguduo@aguduo.com")
                        )
                );
    }
}
